Data centers commonly provide computational resources to their tenants in the form of online data storage and/or data processing services. Tenants often store their valuable data and run their critical software applications at such data centers. Users of the software applications, such as the tenants' customers, may then access the software applications over the Internet or some other network. In one example, a tenant is an on-line retail business operating a website hosted by the data center. The tenant purchases data storage and processing services provided through the data center, and retail customers access the website to make their on-line purchases over the Internet. In another example, a tenant is an individual who stores his or her applications and/or data (e.g., files, photos, videos, etc.) at the data center, which appears to the individual tenant to be “in the cloud.”
Data centers commonly employ virtual machines to provide data processing services to their tenants. As is known, a “virtual machine” is a software implementation of a physical computing machine, which may appear on a network as a distinct computer but may in fact be one of multiple virtual machines running on a single server. Virtual machines are popular in data centers because they are readily transportable between physical servers and thus promote load balancing and the capability to failover from one physical server to another.
When tenants purchase computational resources from the provider of a data center, the tenants often pay for and expect to receive a certain minimum level of service. Service level may be specified for a variety of performance-related and/or reliability-related measures.